In signal processing, a comb filter adds a delayed version of a signal to itself, causing constructive and destructive interference. The frequency response of a comb filter consists of a series of regularly spaced spikes, giving the appearance of a comb.
Contents |
Comb filters are used in a variety of signal processing applications. These include:
In acoustics, comb filtering can arise in some unwanted ways. For instance, when two loudspeakers are playing the same signal at different distances from the listener, there is a comb filtering effect on the signal.[1] In any enclosed space, listeners hear a mixture of direct sound and reflected sound. Because the reflected sound takes a longer path, it constitutes a delayed version of the direct sound and a comb filter is created where the two combine at the listener.[2]
Comb filters exist in two different forms, feed-forward and feedback; the names refer to the direction in which signals are delayed before they are added to the input.
Comb filters may be implemented in discrete time or continuous time; this article will focus on discrete-time implementations; the properties of the continuous-time comb filter are very similar.
The general structure of a feedforward comb filter is shown on the right. It may be described by the following difference equation:
where is the delay length (measured in samples), and is a scaling factor applied to the delayed signal. If we take the Z transform of both sides of the equation, we obtain:
We define the transfer function as:
To obtain the frequency response of a discrete-time system expressed in the Z domain, we make the substitution . Therefore, for our feedforward comb filter, we get:
Using Euler's formula, we find that the frequency response is also given by
Often of interest is the magnitude response, which ignores phase. This is defined as:
In the case of the feedforward comb filter, this is:
Notice that the term is constant, whereas the term varies periodically. Hence the magnitude response of the comb filter is periodic.
The graphs to the right show the magnitude response for various values of , demonstrating this periodicity. Some important properties:
The feedforward comb filter is one of the simplest finite impulse response filters.[3] Its response is simply the initial impulse with a second impulse after the delay.
Looking again at the Z-domain transfer function of the feedforward comb filter:
we see that the numerator is equal to zero whenever . This has solutions, equally spaced around a circle in the complex plane; these are the zeros of the transfer function. The denominator is zero at , giving poles at . This leads to a pole-zero plot like the ones shown below.
Similarly, the general structure of a feedback comb filter is shown on the right. It may be described by the following difference equation:
If we rearrange this equation so that all terms in are on the left-hand side, and then take the Z transform, we obtain:
The transfer function is therefore:
If we make the substitution into the Z-domain expression for the feedback comb filter, we get:
The magnitude response is as follows:
Again, the response is periodic, as the graphs to the right demonstrate. The feedback comb filter has some properties in common with the feedforward form:
However, there are also some important differences because the magnitude response has a term in the denominator:
The feedback comb filter is a simple type of infinite impulse response filter.[4] If stable, the response simply consists of a repeating series of impulses decreasing in amplitude over time.
Looking again at the Z-domain transfer function of the feedback comb filter:
This time, the numerator is zero at , giving zeros at . The denominator is equal to zero whenever . This has solutions, equally spaced around a circle in the complex plane; these are the poles of the transfer function. This leads to a pole-zero plot like the ones shown below.
Comb filters may also be implemented in continuous time. The feedforward form may be described by the following equation:
and the feedback form by:
where is the delay (measured in seconds).
They have the following frequency responses, respectively:
Continuous-time implementations share all the properties of the respective discrete-time implementations.